#ifndef __GGEAR_IMAGE_BUILDER_H
#define __GGEAR_IMAGE_BUILDER_H

#include "ggear_stream.h"
#include "ggear_string.h"
#include "ggear_image.h"

namespace ggear
{
	namespace gfx
	{
		class ImageBuilder
		{
		public:
			//! Default constructor
			ImageBuilder(){}

			//! Destructor
			virtual ~ImageBuilder(){}

			//! Read image info from stream
			virtual Image* Load(io::Stream& _inStream) const = 0;

			//! Write image info to stream
			virtual bool Save(const Image& _img, io::Stream& _outStream) const = 0;
		};
	}
}

#endif